In a network, network devices receive and transmit data packets to allow the data packets to reach their specified destinations. Most data packets sent over the Internet use the Internet Protocol (IP). Many IP packets use the transmission control protocol (TCP) or the user datagram protocol (UDP) at the transport layer. A network device is any device that receives and retransmits data packets in a network. Example network devices include routers, switches, soft routers, and soft switches.
Network devices include network functions (NFs) and/or virtual network functions (VNFs) to properly process and route received data packets. An NF is implemented in hardware, either in a network device or in another device connected to the network device. A VNF is implemented in software, either in the network device or in another device accessible from the network device. As used herein, the term NF encompasses both hardware- and software-implemented network functions, unless expressly stated otherwise. By way of example, in a fourth-generation (4G) long-term evolution (LTE) evolved packet core (EPC) system, a serving gateway/packet data network (PDN) gateway (SPGW) may perform deep packet inspection (DPI) on data packets using an NF. In this example, a user plane of a network device (e.g., the switching/routing part of the network device) forwards data packets to the NF. After the NF finishes the DPI of each packet, it returns the packet back to the SPGW user plane, which forwards the packets to their next hop.
To debug NFs, network statistics, such as packet counts and pass-through rates on ports or logic interfaces, are collected (e.g., via simple network management protocol (SNMP), syslog, or command-line interface (CLI) pull) and used to monitor and analyze network performance In-band network telemetry (INT) adds a timestamp or other kind of tag in packet metadata. The tag is injected into the packet metadata at an ingress interface of a network device. The metadata travels with the packet in buffers, queues, and processing units. The metadata enables latency to be measured along each step of the data path. Telemetry data, as used herein, refers to data that measures a quantity that is relevant to network performance.
Data may also be gathered by sending through additional packets for testing. For example, a data packet containing a timestamp of its creation time as a payload may be sent from a first test machine to a second test machine to measure total propagation time through a network.